1. Field of the Invention
The present invention relates to electronic whiteboards and, more particularly, to a method and apparatus for implementing an electronic whiteboard usable in a virtual environment.
2. Description of the Related Art
Virtual environments simulate actual or fantasy 3-D environments and allow for many participants to interact with each other and with constructs in the environment via remotely-located clients. One context in which a virtual environment may be used is in connection with gaming, although other uses for virtual environments are also being developed.
In a virtual environment, an actual or fantasy universe is simulated within a computer processor/memory. Multiple people may participate in the virtual environment through a computer network, such as a local area network or a wide area network such as the Internet. Each player selects an “Avatar” which is often a three-dimensional representation of a person or other object to represent them in the virtual environment. Participants send commands to a virtual environment server that controls the virtual environment to cause their Avatars to move within the virtual environment. In this way, the participants are able to cause their Avatars to interact with other Avatars and other objects in the virtual environment.
A virtual environment often takes the form of a virtual-reality three dimensional map, and may include rooms, outdoor areas, and other representations of environments commonly experienced in the physical world. The virtual environment may also include multiple objects, people, animals, robots, Avatars, robot Avatars, spatial elements, and objects/environments that allow Avatars to participate in activities. Participants establish a presence in the virtual environment via a virtual environment client on their computer, through which they can create an Avatar and then cause the Avatar to “live” within the virtual environment.
As the Avatar moves within the virtual environment, the view experienced by the Avatar changes according to where the Avatar is located within the virtual environment. The views may be displayed to the participant so that the participant controlling the Avatar may see what the Avatar is seeing. Additionally, many virtual environments enable the participant to toggle to a different point of view, such as from a vantage point outside of the Avatar, to see where the Avatar is in the virtual environment.
The participant may control the Avatar using conventional input devices, such as a computer mouse and keyboard. The inputs are sent to the virtual environment client which forwards the commands to one or more virtual environment servers that are controlling the virtual environment and providing a representation of the virtual environment to the participant via a display associated with the participant's computer.
Depending on how the virtual environment is set up, an Avatar may be able to observe the environment and optionally also interact with other Avatars, modeled objects within the virtual environment, robotic objects within the virtual environment, or the environment itself (i.e. an Avatar may be allowed to go for a swim in a lake or river in the virtual environment). In these cases, client control input may be permitted to cause changes in the modeled objects, such as moving other objects, opening doors, and so forth, which optionally may then be experienced by other Avatars within the virtual environment.
“Interaction” by an Avatar with another modeled object in a virtual environment means that the virtual environment server simulates an interaction in the modeled environment, in response to receiving client control input for the Avatar. Interactions by one Avatar with any other Avatar, object, the environment or automated or robotic Avatars may, in some cases, result in outcomes that may affect or otherwise be observed or experienced by other Avatars, objects, the environment, and automated or robotic Avatars within the virtual environment.
A virtual environment may be created for the user, but more commonly the virtual environment may be persistent, in which it continues to exist and be supported by the virtual environment server even when the user is not interacting with the virtual environment. Thus, where there is more than one user of a virtual environment, the environment may continue to evolve when a user is not logged in, such that the next time the user enters the virtual environment it may be changed from what it looked like the previous time.
As Avatars encounter other Avatars within the virtual environment, the participants represented by the Avatars may elect to communicate with each other. For example, the participants may communicate with each other by typing messages to each other or the participants may be allowed to talk with each other via the virtual environment.
Virtual environments are commonly used in on-line gaming, such as for example in online role playing games where users assume the role of a character and take control over most of that character's actions. In addition to games, virtual environments are also being used to simulate real life environments to provide an interface for users that will enable on-line education, training, shopping, workplace collaboration, and other types of interactions between groups of users and between businesses and users.
One emerging use of virtual environments is in a business context. People at geographically distant locations or even in adjacent offices may log into a virtual environment to conduct meetings or otherwise interact with each other. In this context, the virtual environment may be created to mimic a workplace and include features such as conference rooms, lecture halls, private offices, open space, and other features commonly found in a business setting. For example, an enterprise may establish a virtual environment that will enable employees to interact with each other so that the employees may collaborate more effectively.
People meet in a business context for many different reasons, either in-person or remotely by telephone. As virtual environments are developed and proliferate, meetings likewise may be expected to be hosted by the virtual environments. Generally, a business meeting will have an agenda. Since people may be distracted and unfocused, various business tools have been developed to help lead business meetings to help participants stay focused on the intended topic. Examples of business tools of this nature include whiteboards and flip charts. These business tools, when properly used, can help focus a group of people on a small set of topics by providing a way for the moderator of the meeting to keep returning the participants' attention to the main theme of the meeting. For example, by interrupting and requesting a person to succinctly state their thought, and then writing the thought on the whiteboard, the moderator may focus the person's attention and return to the main objectives of the meeting. Whiteboards may also be used to enable people to brainstorm solutions to a particular problem, vote on the various solutions, and otherwise record the content of the meeting. Myriad uses for whiteboards have and may be developed.
When people are not physically present, and are meeting either by telephone or in a virtual context, they similarly need guidance to help focus on the intended topic. Accordingly, electronic whiteboard applications have been developed. Unfortunately, drawing on an electronic whiteboard is not as easy as drawing on a wall-mounted whiteboard or chart. For example, most electronic whiteboard applications require the user to use a computer mouse to draw on the whiteboard. Drawing using a mouse is fairly difficult to master, since a mouse is an indirect input device. Thus, many users are less than adept at creating line drawings using their mouse which may detract from the flow of the meeting. Additionally, mouse-drawn or hand-drawn shapes tend to be pixel-based drawings, which are hard to change once rendered
Some whiteboards attempt to overcome this limitation by providing a palate of shapes that people may select and drop onto the whiteboard. For example, a user may select a rectangle shape and drop it onto the whiteboard. The use of pre-drawn figures (editable objects) enables anyone using the whiteboard to accurately draw the particular figure associated with the selected icon. Unfortunately, although this type of palate based tool is useful, people tend to try to adjust the size and position of the resultant shape to get the shape to be perfect on the whiteboard. Spending time on unimportant details of this nature also detracts from the flow of the meeting.